﻿using Heroius.Extension;
using Heroius.Extension.Presentation;

namespace Heroius.NeuTabDiffPeriods
{
    public class Config: ObservableEntity
    {
        [Presentation(Label = "开课情况表 开课号 表头")]
        public string B_LessonID { get { return _B_LessonID; } set { _B_LessonID = value; RaisePropertyChangedEvent("B_LessonID"); } } string _B_LessonID = "开课号";
        [Presentation(Label = "开课情况表 课程名称 表头")]
        public string B_LessonName { get { return _B_LessonName; } set { _B_LessonName = value; RaisePropertyChangedEvent("B_LessonName"); } } string _B_LessonName = "课程名称";
        [Presentation(Label = "开课情况表 学时 表头")]
        public string B_Periods { get { return _B_Periods; } set { _B_Periods = value; RaisePropertyChangedEvent("B_Periods"); } } string _B_Periods = "学时";
        [Presentation(Label = "开课情况表 授课教师 表头")]
        public string B_Teachers { get { return _B_Teachers; } set { _B_Teachers = value; RaisePropertyChangedEvent("B_Teachers"); } } string _B_Teachers = "授课教师";
        [Presentation(Label = "开课情况表 授课教师工号 表头")]
        public string B_TeacherIDs { get { return _B_TeacherIDs; } set { _B_TeacherIDs = value; RaisePropertyChangedEvent("B_TeacherIDs"); } } string _B_TeacherIDs = "授课教师工号";

        [Presentation(Label = "多教师开课表 开课号 表头")]
        public string C_LessonID { get { return _C_LessonID; } set { _C_LessonID = value; RaisePropertyChangedEvent("C_LessonID"); } } string _C_LessonID = "开课号";
        [Presentation(Label = "多教师开课表 课程名称 表头")]
        public string C_LessonName { get { return _C_LessonName; } set { _C_LessonName = value; RaisePropertyChangedEvent("C_LessonName"); } } string _C_LessonName = "课程名称";
        [Presentation(Label = "多教师开课表 总学时 表头")]
        public string C_Periods { get { return _C_Periods; } set { _C_Periods = value; RaisePropertyChangedEvent("C_Periods"); } } string _C_Periods = "总学时";
        [Presentation(Label = "多教师开课表 授课教师 表头")]
        public string C_Teacher { get { return _C_Teacher; } set { _C_Teacher = value; RaisePropertyChangedEvent("C_Teacher"); } } string _C_Teacher = "授课教师";
        [Presentation(Label = "多教师开课表 教师授课学时 表头")]
        public string C_TeacherPeriods { get { return _C_TeacherPeriods; } set { _C_TeacherPeriods = value; RaisePropertyChangedEvent("C_TeacherPeriods"); } } string _C_TeacherPeriods = "教师授课学时";
        [Presentation(Label = "多教师开课表 授课教师工号 表头")]
        public string C_TeacherIDs { get { return _C_TeacherIDs; } set { _C_TeacherIDs = value; RaisePropertyChangedEvent("C_TeacherIDs"); } } string _C_TeacherIDs = "授课教师工号";

        [Presentation(Label = "教师名分隔符")]
        public string NameSeperator { get { return _NameSeperator; } set { _NameSeperator = value; RaisePropertyChangedEvent("NameSeperator"); } } string _NameSeperator = ";";
        [Presentation(Label = "教师工号分隔符")]
        public string IdSeperator { get { return _IdSeperator; } set { _IdSeperator = value; RaisePropertyChangedEvent("IdSeperator"); } } string _IdSeperator = ";";

        [Presentation(Label = "校验：多教师开课表 中缺少此开课号的记录")]
        public bool Check_01_MultiLackLesson { get { return _Check_01_MultiLackLesson; } set { _Check_01_MultiLackLesson = value; RaisePropertyChangedEvent("Check_01_MultiLackLesson"); } } bool _Check_01_MultiLackLesson = false;
        [Presentation(Label = "校验：两表中相同开课号的记录，存在 课程名称不一致")]
        public bool Check_02_LessonNameDiff { get { return _Check_02_LessonNameDiff; } set { _Check_02_LessonNameDiff = value; RaisePropertyChangedEvent("Check_02_LessonNameDiff"); } } bool _Check_02_LessonNameDiff = true;
        [Presentation(Label = "校验：两表中相同开课号的记录，存在 学时/总学时不一致")]
        public bool Check_03_TotalPeriodDiff { get { return _Check_03_TotalPeriodDiff; } set { _Check_03_TotalPeriodDiff = value; RaisePropertyChangedEvent("Check_03_TotalPeriodDiff"); } } bool _Check_03_TotalPeriodDiff = true;
        [Presentation(Label = "校验：两表中相同开课号的记录，授课教师姓名不一致")]
        public bool Check_04_TeachersDiff { get { return _Check_04_TeachersDiff; } set { _Check_04_TeachersDiff = value; RaisePropertyChangedEvent("Check_04_TeachersDiff"); } } bool _Check_04_TeachersDiff = true;
        [Presentation(Label = "校验：教师授课学时总和与总学时不想等")]
        public bool Check_05_PeriodSumMiss { get { return _Check_05_PeriodSumMiss; } set { _Check_05_PeriodSumMiss = value; RaisePropertyChangedEvent("Check_05_PeriodSumMiss"); } } bool _Check_05_PeriodSumMiss = true;
        [Presentation(Label = "校验：非多人授课课程被误报在 多教师开课表 中")]
        public bool Check_06_MultiContainSingle { get { return _Check_06_MultiContainSingle; } set { _Check_06_MultiContainSingle = value; RaisePropertyChangedEvent("Check_06_MultiContainSingle"); } } bool _Check_06_MultiContainSingle = true;
        [Presentation(Label = "校验：两表中相同开课号的记录，授课教师工号不一致")]
        public bool Check_07_TeacherIDsDiff { get { return _Check_07_TeacherIDsDiff; } set { _Check_07_TeacherIDsDiff = value; RaisePropertyChangedEvent("Check_07_TeacherIDsDiff"); } } bool _Check_07_TeacherIDsDiff = true;
        
    }
}
